home *** CD-ROM | disk | FTP | other *** search
-
-
-
- CTAGS User Commands CTAGS
-
-
-
- NNAAMMEE
- ctags - create a tags file
-
- SSYYNNOOPPSSIISS
- ccttaaggss [ --BBFFaaddttuuwwvvxx ] [ --ff _t_a_g_s_f_i_l_e ] name ...
-
- DDEESSCCRRIIPPTTIIOONN
- _C_t_a_g_s makes a tags file for _e_x(1) from the specified C, Pas-
- cal, Fortran, YACC, lex, and lisp sources. A tags file
- gives the locations of specified objects in a group of
- files. Each line of the tags file contains the object name,
- the file in which it is defined, and a search pattern for
- the object definition, separated by white-space. Using the
- _t_a_g_s file, _e_x(1) can quickly locate these object defini-
- tions. Depending on the options provided to _c_t_a_g_s, objects
- will consist of subroutines, typedefs, defines, structs,
- enums and unions.
-
- Yacc and lex files each have a special tag. _Y_y_p_a_r_s_e is the
- start of the second section of the yacc file, and _y_y_l_e_x is
- the start of the second section of the lex file.
-
- If the --xx flag is given, _c_t_a_g_s produces a list of object
- names, the line number and file name on which each is
- defined, as well as the text of that line and prints this on
- the standard output. This is a simple index which can be
- printed out as an off-line readable function index.
-
- If the --vv flag is given, an index of the form expected by
- _v_g_r_i_n_d(1) is produced on the standard output. This listing
- contains the object name, file name, and page number (assum-
- ing 64 line pages). Since the output will be sorted into
- lexicographic order, it may be desired to run the output
- through ssoorrtt --ff. Sample use:
- ctags -v files | sort -f > index
- vgrind -x index
-
- Normally _c_t_a_g_s places the tag descriptions in a file called
- _t_a_g_s; this may be overridden with the --ff option.
-
- Files whose names end in ..cc or ..hh are assumed to be C source
- files and are searched for C style routine and macro defini-
- tions. Files whose names end in ..yy are assumed to be YACC
- source files. Files whose names end in ..ll are assumed to be
- lisp files if their first non-blank character is `;', `(',
- or `[', otherwise, they are treated as lex files. Other
- files are first examined to see if they contain any Pascal
- or Fortran routine definitions, and, if not, are searched
- for C style definitions.
-
- Other options are:
-
-
-
-
- Sprite v1.0 March 16, 1987 1
-
-
-
-
-
-
- CTAGS User Commands CTAGS
-
-
-
- --FF use forward searching patterns (/.../) (the default).
-
- --BB use backward searching patterns (?...?).
-
- --aa append to _t_a_g_s file.
-
- --dd create tags for #_d_e_f_i_n_e_s that don't take arguments;
- #_d_e_f_i_n_e_s that take arguments are tagged automatically.
-
- --tt create tags for typedefs, structs, unions, and enums.
-
- --ww suppress warning diagnostics.
-
- --uu update the specified files in the _t_a_g_s file, that is,
- all references to them are deleted, and the new values
- are appended to the file. (Beware: this option is
- implemented in a way which is rather slow; it is usu-
- ally faster to simply rebuild the _t_a_g_s file.)
-
- The tag _m_a_i_n is treated specially in C programs. The tag
- formed is created by prepending _M to the name of the file,
- with the trailing ..cc and any leading pathname components
- removed. This makes use of _c_t_a_g_s practical in directories
- with more than one program.
-
- FFIILLEESS
- tags default output tags file
-
- DDIIAAGGNNOOSSTTIICCSS
- _C_t_a_g_s exits with a value of 1 if an error occurred, where
- duplicate objects are not considered errors, 0 otherwise.
-
- SSEEEE AALLSSOO
- ex(1), vi(1)
-
- AAUUTTHHOORR
- Ken Arnold; FORTRAN added by Jim Kleckner; Bill Joy added
- Pascal and --xx, replacing _c_x_r_e_f; C typedefs added by Ed
- Pelegri-Llopart.
-
- BBUUGGSS
- Recognition of ffuunnccttiioonnss, ssuubbrroouuttiinneess and pprroocceedduurreess for
- FORTRAN and Pascal is done is a very simpleminded way. No
- attempt is made to deal with block structure; if you have
- two Pascal procedures in different blocks with the same name
- you lose. _C_t_a_g_s doesn't understand about Pascal types.
-
- The method of deciding whether to look for C, Pascal or FOR-
- TRAN functions is a hack.
-
- _C_t_a_g_s relies on the input being well formed, and any syntac-
- tical errors will completely confuse it. It also finds some
-
-
-
- Sprite v1.0 March 16, 1987 2
-
-
-
-
-
-
- CTAGS User Commands CTAGS
-
-
-
- legal syntax confusing; for example, as it doesn't under-
- stand #_i_f_d_e_f's, (incidentally, that's a feature, not a bug)
- any code with unbalanced braces inside #_i_f_d_e_f's will cause
- it to become somewhat disoriented. In a similar fashion,
- multiple line changes within a definition will cause it to
- enter the last line of the object, rather than the first, as
- the searching pattern. The last line of multiple line
- _t_y_p_e_d_e_f's will similarly be noted.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sprite v1.0 March 16, 1987 3
-
-
-
-